/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.nxlv2.nomad.view.ficheClient;

import com.nxlv2.nomad.accessdb.services.AdresseServices;
import com.nxlv2.nomad.accessdb.services.ClientServices;
import com.nxlv2.nomad.accessdb.services.ContactServices;
import com.nxlv2.nomad.businessobjects.Adresse;
import com.nxlv2.nomad.businessobjects.Client;
import com.nxlv2.nomad.businessobjects.Contact;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.AbstractAction;
import javax.swing.JOptionPane;

/**
 *
 * @author Nastasia
 */
public class CreateClientAction extends AbstractAction {

    private CreateClient cc;

    public CreateClientAction(CreateClient cc) {
        super();
        this.cc = cc;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        ClientServices srvCl = new ClientServices();

        Pattern p = Pattern.compile("^[a-zA-Z0-9 \\-@]+$");

        Matcher mCl = p.matcher(cc.getTxtNomClient().getText());


        int error = 0;
        // Nom Client

        if (!srvCl.existNom(cc.getTxtNomClient().getText(), cc.getUser())) {
            
            if (!mCl.matches() || "".equals(cc.getTxtNomClient().getText())) {
                cc.getLblNomClient().setForeground(Color.red);
                error = 1;
            } else {
                cc.getLblNomClient().setForeground(Color.black);
            }
           
            if (error == 1) {
                cc.getLblError().setText("Veuillez corriger ou compléter les champs indiqués");
            } else {
                Client cl = new Client();
                cl.setNom(cc.getTxtNomClient().getText());
                srvCl.create(cl, cc.getUser());
                
                cc.getWelcome().setListClient();
                cc.dispose();                
            }
        } else {
            cc.getLblError().setText("Ce client existe déjà");
        }


//
//            if(!srvCl.existNom(getNomClientTF().getText(),user)){
//                Client cl = new Client();
//                cl.setNom(getNomClientTF().getText());
//                srvCl.create(cl, getUser());
//                setListClient();
//                nomClientTF.setText("");
//            } else {
//                this.erreurNomClient.setForeground(Color.red);
//                setErreurNomClient("Ce nom existe déjà.");
//            }+
//        }else {
//            this.erreurNomClient.setForeground(Color.red);
//            setErreurNomClient("Ce champ ne peut contenir que des caractères alpha-numérique.");
//            
//        }
    }
}
